/* Copyright (c) 2004-2024 Peigen.info. All rights reserved. */
package info.peigen.hotpot.component.notice.facade;

import info.peigen.hotpot.component.notice.facade.order.SimpleNoticeOrder;
import info.peigen.hotpot.component.notice.facade.order.TemplateNoticeOrder;
import info.peigen.hotpot.component.notice.facade.result.NoticeResult;

import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;

/**
 * <b>(NoticeServiceFacade)</b>
 *
 * @author Peigen
 * @version 1.0.0
 * @since 2022/7/6 09:22
 */
public interface NoticeServiceFacade {
    /**
     * 发送[简单]类型通知，一般用于测试
     *
     * @param order SimpleNoticeOrder
     *
     * @return NoticeResult
     */
    NoticeResult sendSimpleNotice(SimpleNoticeOrder order) throws NoSuchAlgorithmException, InvalidKeyException;

    /**
     * 发送[模板]类型通知，一般模板需要向各供应商申请
     *
     * @param order TemplateNoticeOrder
     *
     * @return NoticeResult
     */
    NoticeResult sendTemplateNotice(TemplateNoticeOrder order);
}